package com.iafme.service;

import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.iafme.dto.req.OrderReqDTO;
import com.iafme.dto.res.MemberOrderResDTO;
import com.iafme.dto.res.OrderResDTO;
import com.iafme.model.Order;
import com.baomidou.mybatisplus.extension.service.IService;
import com.iafme.properties.ScanPayReq;

import javax.servlet.http.HttpServletRequest;

/**
 * <p>
 *  服务类
 * </p>
 *
 * @author summer
 * @since 2025/01/05 21:14:46
 */
public interface IOrderService extends IService<Order> {

    /**
     * 更新订单状态
     * @param outTradeNo
     * @return
     */
    OrderResDTO updateOrderStatus(String outTradeNo);

    void updateStatus(OrderReqDTO reqDTO);

    ScanPayReq payOrder(OrderReqDTO orderReqDTO, HttpServletRequest request);

    /**
     * 查询订单列表
     * @param reqDTO
     * @return
     */
    Page<OrderResDTO> lists(OrderReqDTO reqDTO);

    /**
     * 查询会员考试订单详情
     * @param orderId
     * @return
     */
    MemberOrderResDTO findMemberOrder(Integer orderId);


}
